МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра ЕОМ
"Представлення в пам’яті комп’ютера
даних цілих та дійсних типів"
МЕТОДИЧНІ ВКАЗІВКИ
до лабораторної роботи № 1
з дисципліни
" Програмування. Частина III.
Структури даних та алгоритми "
для студентів напряму
6.050102 “Комп’ютерна інженерія”
Львів – 2010
Методичні вказівки до лабораторної роботи "Представлення в пам’яті комп’ютера цілих та дійсних типів даних" з дисципліни “Програмування. Частина IIІ. Структури даних та алгоритми" для підготовки студентів напряму 6.050102 “Комп’ютерна інженерія” / Укл. Т.А. Матвейчук – Львів: Видавництво НУ “Львівська політехніка”, 2010 – 11 с.
Укладач: Матвейчук Т.А., ст. викладач каф.ЕОМ
Відповідальний
за випуск: Мельник А.О., д-р техн. наук, проф.
Рецензенти: Мороз І.В., ст. викладач каф.ЕОМ
Юрчак І.Ю., доцент кафедри САПР, к.т.н.
1. МЕТА РОБОТИ
Дослідження внутрішнього представлення в пам’яті комп’ютера (ВПК) статичних даних базових типів.
2. ТЕОРЕТИЧНІ ВІДОМОСТІ
2.1. Класифікація типів даних
Основні об'єкти, з якими працює програма на мові С++ - змінні і константи. Змінні - поіменновані величини, значення яких, на відміну від констант, можуть змінюватись в процесі виконання програми. Всі змінні повинні бути описані. В описах вказуються їх типи і, можливо, початкові значення. Константами називаються перерахування величин у програмі. Розрізняють чотири типи констант: цілі константи, константи з плаваючою комою, символьні константи і строкові літерали.
Під типом даних розуміють множину допустимих значень цих даних і множину дозволених операцій над ними. Водночас тип даних визначає і розмір пам'яті, що займають змінні або константи даного типу. Пам'ять не виділяється для типу даних, а виділяється для розміщення змінної або константи заданого типу.
У мові С++ виділяють наступні категорії типів даних:
базові типи;
похідні типи.
Базові типи мають імена, які є ключовими словами мови.
До базових типів належать: скалярні типи і порожній тип (void).
Тип void не має значення і введений для опису функцій, які не повертають значень, та для деяких інших цілей.
Базові типи поділяються на цілочисельні та дійсні типи.
Логічний тип, символьний тип і цілий тип є цілочисельними типами даних, для яких визначені всі операції з цілими числами.
Похідні типи визначаються на основі базових типів. Похідні типи поділяються на скалярні і структурні (агрегатні).
До скалярних похідних типів належать:
- перерахування (enum) — множина поіменованих цілих значень,
- вказівники (*),
- посилання (&).
До структурних похідних типів належать:
- масиви (ім'я_масиву[кількість_елементів]),
- структури (struct),
- об'єднання (union),
- класи (class).
2.2. Цілочисельні типи даних
Типи short, іnt і long призначені для представлення цілих чисел.
Цілі типи можуть бути знаковими (sіgned) і беззнаковими (unsіgned). В знакових типах самий лівий біт використовується для зберігання знака числа (0 – плюс, 1 – мінус). Решта бітів містять числове значення. В беззнакових типах всі біти використаються для числового значення. За замовчуванням всі цілочисельні типи вважаються знаковими.
Цілі типи розрізняються діапазоном значень, які можуть приймати цілочисельні змінні і розміром області пам'яті, виділеної під цю змінну, а конкретні розміри цих типів залежать від конкретної реалізації. Так, представлення в пам'яті і область значень для типів іnt і unsіgned іnt чітко не визначені в мові С++. За замовчуванням розмір іnt (зі знаком і без знака) відповідає реальному розміру цілого на даній машині. Наприклад, на 16-ти розрядній машині тип іnt завжди займає 16 розрядів або 2 байта. На 32-х розрядній машині тип іnt завжди займає 32 розряди або 4 байта. Таким чином, тип іnt буде еквівалентним типам short іnt або long іnt залежно від реалізації. Аналогічно, тип unsіgned іnt еквівалентний типам unsіgned short або unsіgned long. Перелік типів наведено в Таблиці 1.
Оскільки, розміри типів іnt і unsіgned іnt є змінним...